home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr25 / memsz130.zip / OBJECT.H < prev   
C/C++ Source or Header  |  1993-03-14  |  3KB  |  122 lines

  1. /*************************************************************** OBJECT.H
  2.  *                                                                      *
  3.  *                    Object Processor Definitions                      *
  4.  *                                                                      *
  5.  ************************************************************************/
  6.  
  7. #ifndef OBJECT_H
  8. #define OBJECT_H
  9.  
  10. #define CLASS_OBJECT "Object"
  11.  
  12. /************************************************************************
  13.  *                          Type Definitions                            *
  14.  ************************************************************************/
  15.  
  16. typedef MRESULT (APIENTRY METHODFUNCTION) ( HWND, USHORT, MPARAM, MPARAM, PVOID ) ;
  17. typedef METHODFUNCTION FAR *PMETHODFUNCTION ;
  18.  
  19. typedef struct Method
  20. {
  21.   USHORT Action ;
  22.   PMETHODFUNCTION pFunction ;
  23. }
  24. METHOD ;
  25.  
  26. typedef METHOD FAR *PMETHOD ;
  27.  
  28. typedef struct Class
  29. {
  30.   PMETHOD pMethods ;
  31.   USHORT cMethods ;
  32.   MRESULT (APIENTRY *BaseObjectProcessor) (HWND, USHORT, MPARAM, MPARAM ) ;
  33.   USHORT cDataSize ;
  34.   ULONG flStyle ;
  35.   BOOL fFrame ;
  36.   struct
  37.   {
  38.     ULONG flStyle ;
  39.     ULONG flCreateFlags ;
  40.     HMODULE hmodResources ;
  41.     USHORT idResources ;
  42.   }
  43.   FrameData ;
  44. }
  45. CLASS ;
  46.  
  47. typedef CLASS FAR *PCLASS ;
  48.  
  49. typedef struct Object
  50. {
  51.   SEL selObject ;
  52.   SEL selData ;
  53.   PCLASS pClass ;
  54. }
  55. OBJECT ;
  56.  
  57. typedef OBJECT FAR *POBJECT ;
  58.  
  59.  
  60. /************************************************************************
  61.  *                         Function Prototypes                          *
  62.  ************************************************************************/
  63.  
  64. VOID Object
  65. (
  66.   HAB *phAB,
  67.   HMQ *phMQ,
  68.   ULONG flStyle,
  69.   HELPINIT *pHelpInit,
  70.   HWND *phwndHelp,
  71.   HWND hwndOwner,
  72.   SHORT idWindow,
  73.   PCLASS pClass,
  74.   PCHAR pszTitle
  75. ) ;
  76.  
  77. VOID ObjInitialize
  78. (
  79.   HAB *phAB,
  80.   HMQ *phMQ,
  81.   ULONG flStyle,
  82.   HELPINIT *pHelpInit,
  83.   HWND *phwndHelp
  84. ) ;
  85.  
  86. HWND ObjCreateObject
  87. (
  88.   HWND hwndOwner,
  89.   SHORT idWindow,
  90.   PCLASS pClass,
  91.   PCHAR szTitle,
  92.   HWND hwndHelp
  93. ) ;
  94.  
  95. VOID ObjExecuteAll ( HAB hAB ) ;
  96.  
  97. VOID ObjDestroy ( HWND hwnd ) ;
  98.  
  99. VOID ObjCleanup ( HAB hAB, HMQ hMQ, HWND hwndHelp ) ;
  100.  
  101. MRESULT EXPENTRY ObjMessageProcessor
  102. (
  103.   HWND hwnd,
  104.   USHORT msg,
  105.   MPARAM mp1,
  106.   MPARAM mp2
  107. ) ;
  108.  
  109. MRESULT EXPENTRY GeneralMessageProcessor
  110.   HWND hwnd, 
  111.   USHORT msg, 
  112.   MPARAM mp1, 
  113.   MPARAM mp2,
  114.   PMETHOD pMethods,
  115.   SHORT cMethods,
  116.   MRESULT (EXPENTRY *pDefaultMessageProcessor) (HWND,USHORT,MPARAM,MPARAM),
  117.   PVOID pData
  118. ) ;
  119.  
  120. #endif
  121.